/**
	Copyright (c) 2009 ATTi 
	All rights reserved.
	Author: Michael Shu
	Date: 12/28/2009
*/

public class SendEmailControllerMessage {
	//general constant 
	public static String System_Administrator = 'System Administrator';
    
    //temporary saved doc name
    public static String TempDocName = '---Temporarily saved by system when send emails, Please delete if you see it---';
    
    //two email template folder name
    public static String PersonalFolderName = 'My Personal Email Templates';
    public static String UnfiledPublicFolderName = 'Unfiled Public Email Templates';
    
	//case page URL and Visualforce page Title
	public static String CasePageURL = '/500/o';
	public static String EmailDetailPageURL = '/apex/EmailMessageDetail';
	public static String Title = 'Send An Email';
	public static String Replied = '2';
	public static String Sent = '3';
	public static String Forwarded = '4';
	
	//body type
	public static String TextBodyType = 'Text-Only';
	public static String HTMLBodyType = 'HTML';
	public static String SwitchToText = 'Switch To Text-Only';
	public static String SwitchToHTML = 'Switch To HTML';
	
	//error message
	public static String Error_RequiredToemailMissing = 'To and Additional To, at least one field should be filled in';
	public static String Error_SubjectMissing = 'Subject can\'t be blank';
	public static String Error_FromEmailFormatError = 'From email format error';
	public static String Error_AdditionalToEmailFormatError = 'Additional To email format error. Please make sure to use semicolon ( ; ) to separate emails';
	public static String Error_CCEmailFormatError = 'CC email format error. Please make sure to use semicolon ( ; ) to separate emails';
	public static String Error_BCCEmailFormatError = 'BCC email format error. Please make sure to use semicolon ( ; ) to separate emails';
	public static String Error_InvalidContactEmail = 'Invalid Contact email address. Please update the Contact email address and send again.';
	public static String Error_OrgWideEmailNotFound = 'OrgWideEmailAddress doesn\'t exist';
	public static String Error_SendEmailFail = 'Send Email Fail';
	public static String Error_TooManyContactMatching = 'More than one To contact was found, please use lookup button';
	public static String Error_NoMatchingContactFound = 'To contact can\'t be found, please use lookup button';
	
	//ignore send email exceptions
    public static String INVALID_EMAIL_ADDRESS = 'INVALID_EMAIL_ADDRESS, email address has bounced for id';
	public static String MAXIMUM_SIZE_OF_ATTACHMENT = 'MAXIMUM_SIZE_OF_ATTACHMENT, Total attachment size is too large';
	
	//Constant for SendEmailController
    public static String COMPLETED = 'Completed'; 
    public static String NORMAL = 'Normal';
    
    // From Email address definition 
    public static String Any_Record_Type = 'Any Record Type';
    
    //--------------------------------------------------------------------------------------//
    //              Email Definition Format, divided by ';'                                 //
    //--------------------------------------------------------------------------------------//     
    //     Part 1    |   Part 2     |       Part 3                                          //
    //--------------------------------------------------------------------------------------//
    //  Sender Label | Sender Email |  default Record Type Name or Any_Record_Type or null  //
    //--------------------------------------------------------------------------------------//
    /*
    public static List<String> Customer_Care_Emails = new List<String>{'Audio Ad Support;audioadsupport@yellowpages.com;White Space - Audio Ad Support'
    	                                                              ,'Collections;collections@yellowpages.com;White Space - Collections'
    	                                                              ,'Customer Care;customer_care@yellowpages.com;White Space - Customer Care'
    	                                                              ,'Ratings and Reviews;ratingsandreviews@yellowpages.com;White Space - Ratings and Reviews'
    	                                                              ,'Video Ad Support;videoadsupport@yellowpages.com;White Space - Video Ad Support'
    	                                                              ,'Website Consultation;websiteconsultation@yellowpages.com;White Space - Website Consultation'
    	                                                              ,'Website Support;websitesupport@yellowpages.com;White Space - Website Support'
    	                                                              ,'YP Clicks;ypclicks@yellowpages.com;White Space - YP Clicks'
    	                                                              ,'YP Connect;ypconnect@yellowpages.com;White Space - YP Connect'
    	                                                              ,'YPC Ops Fulfillment;ypcopsfulfillment@yellowpages.com;White Space - YPC Ops Fulfillment'
    	                                                              ,'YPC Support;ypcsupport@yellowpages.com;White Space - YPC Support'
    	                                                              ,'You Tube Support;youtubesupport@yellowpages.com;White Space - You Tube Support'
    	                                                              ,'YP Clicks Enhanced;ypclicksenhanced@yellowpages.com;White Space - YP Clicks Enhanced'
    	                                                              ,'Gold Support;goldsupport@attinteractive.com;White Space - Gold Support'
    	                                                              ,'Bronze Support;bronzesupport@attinteractive.com;White Space - Bronze Support'};
    */
    public static List<String> Customer_Care_IR_Emails = new List<String>{'ATT IOG Customer Care;IOG_Customer_Care_Reply@att.com;' + Any_Record_Type};
    public static List<String> National_Ops_Emails = new List<String>{'National Inquiries;national_inquiries@attinteractive.com;null'
                                                                     ,'National Orders;national_orders@yellowpages.com;' + Any_Record_Type
                                                                     ,'YP Connect;ypconnect@yellowpages.com;null'
                                                                     ,'YPC Ops Fulfillment;ypcopsfulfillment@yellowpages.com;null'
                                                                     ,'Website Support;websitesupport@yellowpages.com;null'
                                                                     ,'AgencySales;agencysales@attinteractive.com;null'
                                                                     ,'MobileBannerAds;mobilebannerads@attinteractive.com;null'
                                                                     ,'DisplayAdOps;displayadops@attinteractive.com;null'};
                                                                     // 10/3/11, updated by plo, AD-23980: remove these address and added a new one above
                                                                     //,'LocalBannerAdSupport;localbanneradsupport@attinteractive.com;null'
                                                                     //,'LODA2.0AdSupport;LODA2.0AdSupport@attinteractive.com;null'};
    
    public static Map<String, List<String>> Profile_Email_List = new Map<String, List<String>>{
                                                   	'IOG Support - SuperUser - East' => Customer_Care_IR_Emails
                                                   ,'IOG Support - SuperUser - OOR' =>  Customer_Care_IR_Emails
                                                   ,'IOG Support - SuperUser - West' => Customer_Care_IR_Emails
                                                   ,'IOG Support - Reporting - East' => Customer_Care_IR_Emails
                                                   ,'IOG Support - Reporting - OOR' => Customer_Care_IR_Emails
                                                   ,'IOG Support - Reporting - West' => Customer_Care_IR_Emails
                                                   ,'IOG Support - Standard - East' => Customer_Care_IR_Emails
                                                   ,'IOG Support - Standard - OOR' => Customer_Care_IR_Emails
                                                   ,'IOG Support - Standard - West' => Customer_Care_IR_Emails
                                                   ,'National Operations' => National_Ops_Emails
                                                   ,'National Ops - Billing' => National_Ops_Emails
                                                   ,'National Ops - Edit Rights' => National_Ops_Emails
                                                   ,'National Ops - NO SSO' => National_Ops_Emails
                                                   ,'National Ops - Read Only' => National_Ops_Emails
                                                   ,'National Ops - Sales Support' => National_Ops_Emails};  
    
    public static Map<String, List<String>> QC_Profile_Email_List_CCOOR = new Map<String, List<String>>{
    	                                           // 'IOG Support - Standard - OOR' => Customer_Care_IR_Emails
                                                   //,'IOG Support - Reporting - OOR' => Customer_Care_IR_Emails
                                                   'IOG Support - NATO Access - OOR' => Customer_Care_IR_Emails};
                                                   
    public static Map<String, List<String>> QC_Profile_Email_List_NATO = new Map<String, List<String>>{
    	                                           // 'IOG Support - Standard - OOR' => National_Ops_Emails
                                                   //,'IOG Support - Reporting - OOR' => National_Ops_Emails
                                                   'IOG Support - NATO Access - OOR' => National_Ops_Emails};

}